Allow reexporting of features between packages
authorAlex Crichton <alex@alexcrichton.com>
Thu, 16 Oct 2014 17:09:39 +0000 (10:09 -0700)
committerAlex Crichton <alex@alexcrichton.com>
Thu, 16 Oct 2014 17:26:38 +0000 (10:26 -0700)
commitf5f34e856c28c3ac9ae1e19292b8a5f9bc660e15
treeedced2e50eecc775ba8e00b611c5b241fcfdd476
parent9788700351f5c236c4e403f28a9156e6ee0b2483
Allow reexporting of features between packages

As pointed in #633, it's currently not possible for a package to reexport the
feature of another package due to the limitations of how features are defined.

This commit adds support for this ability by allowing features of the form
`foo/bar` in the `features` section of the manifest. This form indicates that
the dependency `foo` should have its `bar` feature enabled. Additionally, it is
not required that `foo` is an optional dependency.

This does not allow features of the form `foo/bar` in a `[dependencies]`
features section as dependencies shouldn't be enabling features for other
dependencies.

Closes #633
Closes #674
src/cargo/core/resolver.rs
src/cargo/core/summary.rs
src/doc/manifest.md
src/snapshots.txt
tests/test_cargo_features.rs